f01brf

f01brf © Numerical Algorithms Group, 2002.

Purpose

F01BRF LU factorization of real sparse matrix

Synopsis

[a,irn,icn,ikeep,w,idisp,ifail] = f01brf(n,nz,a,irn,icn<,pivot,lblock,grow,...
abort,ifail>)

Description

 
 Given a real sparse matrix A, this routine may be used to obtain 
 the LU factorization of a permutation of A,
 
                              PAQ=LU
 
 where P and Q are permutation matrices, L is unit lower 
 triangular and U is upper triangular. The routine uses a sparse 
 variant of Gaussian elimination, and the pivotal strategy is 
 designed to compromise between maintaining sparsity and 
 controlling loss of accuracy through round-off.
 
 Optionally the routine first permutes the matrix into block lower
 triangular form and then only factorizes the diagonal blocks. For
 some matrices this gives a considerable saving in storage and 
 execution time.
 
 Extensive data checks are made; duplicated non-zeros can be 
 accumulated.
 
 The factorization is intended to be used by F04AXF to solve 
                                             T               
 sparse systems of linear equations Ax=b or A x=b. If several 
 matrices of the same sparsity pattern are to be factorized, 
 F01BSF should be used for the second and subsequent matrices.
 

Parameters

f01brf

Required Input Arguments:

n                                     integer
nz                                    integer
a (:)                                 real
irn (:)                               integer
icn (:)                               integer

Optional Input Arguments:                       <Default>

pivot                                 real     0.1
lblock                                logical  1
grow                                  logical  1
abort (4)                             logical  [1;1;0;1]
ifail                                 integer  -1

Output Arguments:

a (:)                                 real
irn (:)                               integer
icn (:)                               integer
ikeep (5*n)                           integer
w (n)                                 real
idisp (10)                            integer
ifail                                 integer